October 10, 1992 by Raymond W. Six CompuServe: 70530,433 Here's a way to create a 'Password' style text box completely with VB/DOS code - no custom controls. Any questions, comments, and/or suggestions welcomed. Do This: 1) Create a normal TEXT BOX control to use for the password box. {let's name it Password_Text for this example} 2) Create a LABEL control and name it PasswordDisplay_Label. 3) Enlarge the form and move Password_Text over past what was the edge of the form, then change to form size back so that the Password_Text control is no longer visible. DO NOT CHANGE THE VISIBLE OR ENABLED PROPERTIES OF Password_Text. 4) Set the BorderStyle of PasswordDisplay_Label to Fixed-Single. 5) Position and size PasswordDisplay_Label however you would like the password box to appear to the user. 6) Add this code to Password_Text's 'Change' event: SUB Password_Text_Change() PasswordDisplay_Label.Caption = STRING$(LEN(Password_Text.Text),"*") END SUB 7) Add this code to Password_Text's 'GotFocus' event: SUB Password_Text_GotFocus() PasswordDisplay_Label.BorderStyle = 2 END SUB 8) Add this code to Password_Text's 'LostFocus' event: SUB Password_Text_LostFocus() PasswordDisplay_Label.BorderStyle = 1 END SUB 9) Add this code to PasswordDisplay_Label's 'Click' event: SUB PasswordDisplay_Label_Click() Password_Text.SETFOCUS END SUB Here's the way it works: Even though the actual Password_Text TEXT BOX is not visible on the screen, users may still tab into it (i.e. it may still get the 'Focus'). Also, keystrokes may still be entered into this control - which cause a 'Change' event - which (via the code we put in) will update the 'fake' password box (PasswordDisplay_Label) to look like a 'Password' style text box. One problem that occurs is that no 'Caret' (typing cursor) will appear in the 'fake' password box. This makes it difficult for the user to tell which control has the focus. That's where the GetFocus and LostFocus code comes in. When Password_Text gets the 'Focus', the BorderStyle of the fake password box (PasswordDisplay_Label) will be changed to Fixed-Double. The reverse will occur when 'Focus' shifts AWAY from Password_Text. In case the user decides to use the mouse to change focus to the password box, the code placed in the 'fake' password box will re-direct focus to Password_Text instead. October 10, 1992 by Raymond W. Six CompuServe: 70530,433